package com.edu.d6_map_api;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class MapDemo1 {
    /**
     * 了解使用map常用的API
     */
    public static void main(String[] args) {
        Map<String, Integer> map = new HashMap<>();
        //1、put()添加map集合中的元素
        map.put("哇哈哈",20);
        map.put("红苹果",30);
        map.put("黄瓜",66);
        map.put("南瓜",43);
        map.put("电脑",23);
        System.out.println(map);
/*
        //2、clear()清空map集合中的元素
        map.clear();
        System.out.println(map);
        */
        //3、判断集合是否为空，为空就返回true，反之！
        System.out.println(map.isEmpty());

        //4、根据键获取对应的值，public  V get(Object Key)
        System.out.println(map.get("黄瓜"));

        //5、remove()根据键来删除整个元素，删除键会返回键对应的值
        System.out.println(map.remove("哇哈哈"));

        //6、containsKey()判断是否包含某个键，包含就返回true，反之则false
        System.out.println(map.containsKey("哇哈哈"));
        System.out.println(map.containsKey("红苹果"));

        //7、containsValue()判断是否包含某个值
        System.out.println(map.containsValue(66));
        System.out.println(map.containsValue(100));

        //8、Set<E> keySet()获取全部的键，就是将所有的键获取到一个集合当中，因为map键的特点跟set集合一样，所以用set集合进行接收
        Set<String> key=map.keySet();
        System.out.println(key);

        //9、Collection <V> Values()获取全部的值，由于值是可重复的，不做过多需求，所以用Collection接收
        Collection<Integer> values = map.values();
        System.out.println(values);

        //10、size()集合的大小
        System.out.println(map.size());

        //11、putAll()合并集合（拓展）
        Map<String, Integer> map1 = new HashMap<>();
        map1.put("程序员",77);
        map1.put("没工作",9000);
        map.putAll(map1);
        System.out.println(map);
    }
}
